2022. Лекция 3, законы сохранения КдФ

Функции, определяющие (Subscript[D, x]), (SubStar[g])(f)=(Subscript[∇, f])(g), вариационную производную и интегрирование по частям

vars[f_]:=Union[Cases[f,_u,{0,∞}]]
dif[f_]:=Plus@@(D[f,#]dd[#]&/@vars[f])
dx[f_]:=D[f,x]+dif[f]/.dd[u[k_]]:>u[k+1]
dx[f_,k_]:=Nest[dx,f,k]
star[g_,f_]:=dif[g]/.dd[u[k_]]:>dx[f,k]
vard[f_]:=Expand[Plus@@((-1)^#[[1]]dx[D[f,#],#[[1]]]&/@vars[f])]

(* порядок по производным *)
ord[f_]:=Module[{v=vars[f]},If[v=={},-1,v[[-1]][[1]]]]

int[f_]:=Module[{a=0,b=Expand[f],c,k}, 
While[k=ord[b];     (* вычисляем k - порядок b *)
And[k>0,                   (* выполняем цикл, пока выполняется условие, что k>0 и *)
c=D[b,u[k]];     (* b линейна по старшей переменной *)
Expand[D[c,u[k]]]==0
],
c=Integrate[c,u[k-1]];   (* интегрируем по переменной, следующей по старшинству *)
a=Expand[a+c];                        (* пересчет a и b *)
b=Expand[b-dx[c]]
];
If[ord[b]==-1,    (* если в результате остаток не зависит от u, то это функция от х *)
{Expand[a+Integrate[b,x]],0},
{a,b}
]
]

Первые четыре плотности

Проверим простейшие законы сохранения. Функция int[f] возвращает пару {a,b} такую, что f=(Subscript[D, x])(a)+b. Если b=0, значит f полная производная.

ut=u[3]+6u[0]u[1];

Expand[star[u[0],ut]];
int[%]

Expand[star[((u[0])^2),ut]];
int[%]

Expand[star[((u[1])^2)-2((u[0])^3),ut]];
int[%]

Expand[star[((u[2])^2)-10u[0]((u[1])^2)+5((u[0])^4),ut]];
int[%]

Expand[-star[u[0],ut]+dx[u[2]+3((u[0])^2)]]

Expand[-star[((u[0])^2),ut]+dx[2 u[0] u[2]-((u[1])^2)+4 ((u[0])^3)]]

Expand[-star[((u[1])^2)-2((u[0])^3),ut]+dx[2 u[1] u[3]-((u[2])^2)-6 ((u[0])^2) u[2]+12 u[0] ((u[1])^2)-9 ((u[0])^4)]]

Expand[-star[((u[2])^2)-10u[0]((u[1])^2)+5((u[0])^4),ut]+dx[2 u[2] u[4]-((u[3])^2)-20 u[0] u[1] u[3]+16 u[0] ((u[2])^2)+10 ((u[1])^2) u[2]+20 ((u[0])^3) u[2]-90 ((u[0])^2) ((u[1])^2)+24 ((u[0])^5)]]

Преобразование Миуры

Рассмотрим модифицированное уравнение КдФ, точнее, (SuperMinus[мКдФ]):

(Subscript[f, t])=(Subscript[f, x x x])-6((f^2)+λ)(Subscript[f, x]).

Определим переменную

u=(Subscript[f, x])+(f^2)+λ

и проверим, что она удовлетворяет КдФ

(Subscript[u, t])=(Subscript[u, x x x])-6u (Subscript[u, x]).

Для этого временно поменяем ролями u и f (так как правила дифференцирования у нас заданы для u):

ut=u[3]-6(((u[0])^2)+λ)u[1];
f=u[1]+((u[0])^2)+λ;
-star[f,ut]+dx[f,3]-6f dx[f]
Expand[%]

Обращение преобразования Миуры

Мы можем выразить f в виде ряда по обратным степеням параметра (((-λ))^(1/2)), причём коэффициенты ряда будут многочленами от (Subscript[u, n]). Сходимость ряда нас не интересует – это просто формальный ряд, производящая функция. Положим 4λ=-(z^2) и перепишем преобразование Миуры в виде

(f^2)+(Subscript[f, x])=(z^2)/2+u.

Подставим сюда разложение

f=-z/2+(Subscript[F, 0])+(Subscript[F, 1])/z+(Subscript[F, 2])/(z^2)+...

(индекс у (Subscript[F, k]) это просто номер, не производная), это даст

(z^2)/4-z (Subscript[F, 0])+(-(Subscript[F, 1])+(Subscript[F, 0]^2))+(-(Subscript[F, 2])+2(Subscript[F, 0])(Subscript[F, 1]))/z
           + (-(Subscript[F, 3])+2(Subscript[F, 0])(Subscript[F, 2])+(Subscript[F, 1]^2))/(z^2)+ ...  +(Subscript[F, 0,x])+(Subscript[F, 1,x])/z+(Subscript[F, 2,x])/(z^2) +...     =  (z^2)/4+u.

Отсюда следует, что (Subscript[F, 0])=0, (Subscript[F, 1])=-u,  а на остальные коэффициенты получаем рекуррентные соотношения

(Subscript[F, n+1]) =(Subscript[F, 1])(Subscript[F, n-1])+...+(Subscript[F, n-1])(Subscript[F, 1])+(Subscript[F, n,x])=0,   n=1,2,3,... .

Вычислим несколько первых коэффициентов (скажем, 13, хотя машина может гораздо больше).

M=13;
F[1]=-u[0];
Do[F[n+1]=Factor[(dx[F[n]]+Sum[F[s]F[n-s],{s,1,n-1}])],{n,1,M-1}];

Чтобы было удобнее смотреть, заменим u[n] на (Subscript[u, n]):

Do[Print[(Subscript[F, n]),"= ",F[n]/.u[k_]:>(Subscript[u, k])],{n,1,M}]

Можно проверить, что построенный отрезок ряда действительно удовлетворяет уравнению (5), с точностью до членов (z^n) с n≥M:

f=-z/2+Sum[F[n]/(z^n),{n,1,M}];
Series[Expand[(f^2)+dx[f]],{z,Infinity,M-1}]

Прекрасно, и зачем это было нужно? А вот зачем: оказывается, что многочлены (Subscript[F, n]) являются плотностями законов сохранения для КдФ, то есть, существуют некоторые функции (Subscript[s, n]) от (Subscript[u, k]) такие, что

(Subscript[D, t])((Subscript[F, n]))=(Subscript[D, x])((Subscript[s, n])).

Эти функции мы пока не знаем, но можем убедиться, что они есть, применив к этому равенству вариационную производную, тогда правая часть уйдёт в 0. Проверяем:

Table[
vard[star[F[n],u[3]-6u[0]u[1]]],
{n,1,M}]

Если посмотреть внимательно на выписанную выше таблицу, можно заметить, что все (Subscript[F, n]) с четными номерами сами являются полными производными по x, ещё до дифференцирования по t:

Table[vard[F[n]],{n,2,M,2}]

Такие плотности не засчитываются, они отвечают тривиальным законам сохранения (Subscript[D, t])((Subscript[D, x])(a))=(Subscript[D, x])((Subscript[D, t])(a)), которые выполняются для любой функции a и любого эволюционного дифференцирования (Subscript[D, t]).  А с нечетными номерами все в порядке, это нетривиальные плотности, вариационная производная от них не есть тождественный 0:

Table[vard[F[n]],{n,1,M,2}]

Чтобы найти соответствующие токи, можно проинтегрировать по частям:

Expand[Table[star[F[n],u[3]-6u[0]u[1]],{n,1,M,2}]];
int/@%

Вторые компоненты в парах равны 0, значит первые компоненты дают токи.

Итак, можно сформулировать такие утверждения (доказательство в лекции).

Теорема. 1) Все коэффициенты в разложении (6) являются плотностями законов сохранения для КдФ;
2) плотности с чётными номерами тривиальны; 3) плотности с нечётными номерами нетривиальны.